package com.example.mybank.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;

import org.hibernate.validator.constraints.Length;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.Date;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;

/**
 * 用户类
 */

@Data
@NoArgsConstructor
@AllArgsConstructor
/**
 * 用户
 */
public class Users{

    // 用户编号
    @TableId(type = IdType.AUTO)
    Long id;

    // 用户名
    @NotEmpty(message = "用户名不能为空")
    @Length(min = 1,max = 20, message = "请输入1-20个字符")
    String username;

    // 电话
    @NotEmpty(message = "电话不能为空")
    @Length(min = 1,max = 20, message = "请输入1-20个字符")
    String tel;

    // 姓名
    @NotEmpty(message = "姓名不能为空")
    @Length(min = 1,max = 20, message = "请输入1-20个字符")
    String name;

    // 密码
    @NotEmpty(message = "密码不能为空")
    @Length(min = 1, max = 20, message = "请输入1-20个字符")
    String password;

    // 工作情况
    @NotNull(message = "请输入工作情况")
    Boolean has_work;

    // 年龄
    @NotNull(message = "年龄不能为空")
    @Min(1)
    Integer age;

    // 是否有信用：false则为失信被执行人
    Boolean has_credit;

    // 是否是管理员
    Boolean is_admin;

    // 最近登陆时间
    Date datetime_login;

    // 注册时间
    Date datetime_register;
}
